#爬取药监总局相关数据
#爬取动态加载数据
import requests
import json

if __name__ == "__main__":
    # 伪装
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'
    }
    id_list = []  # 存储企业的id值
    all_data_list = []  # 存储所有的企业详情数据
    #批量获取不同企业的ID值
    url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?hKHnQfLv=5'
    # 封装参数
    for page in range(1,6):#捕获前5页企业的ID（可捕获多页的企业id）
        page = str(page)
        data = {
            'on': 'true',
            'page': page,
            'pageSize': '15',
            'productName':'',
            'conditionType': '1',
            'applyname':'',
            'applysn':'',
        }
        #发起请求并且响应请求
        #json_ids是一个字典类型
        json_ids = requests.post(url=url,headers=header,data=data).json()

        #遍历list列表/dic是从列表中拿到的第一个列表元素
        for dic in json_ids['list']:
            id_list.append(dic['ID'])

    #获取企业详情数据
    post_url='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?hKHnQfLv=5'
    for id in id_list:
        data={
            'id':id
        }
        detail_json = requests.post(url=post_url,headers=headers,data=data).json()
        all_data_list.append(detail_json)
    #持久化存储all_data_list
    fp=open('./allData.json','w',encoding='utf-8')
    json.dump(all_data_list,fp=fp,ensure_ascii=False)
    print('结束！')